crackmeUK eagle0wlさんんのソース


この度、 eagle0wlさんからソースを頂きました♪
これを参考にしてみんなでkgを作ってみましょう♪

============================================================================================
eagle0wlさんのソース
============================================================================================

/*******
 * crackme_UK 総当たりプログラム
 *
 */

#include    <stdio.h>
#include    <stdlib.h>

struct  mystruct{
    int     x[0x10];
    int     y[0x10];
    int     cnt;
};

int     main(void){
    
    struct  mystruct    *foo;
            int         i, j;
            long        n;
    
    if(NULL == (foo = (struct mystruct *)malloc(sizeof(struct mystruct) * 0x10000))){
        printf("no memories.\n");
        exit(0);
    }
    
    for(i = 0; i < 0x10000; i++)
        foo[i].cnt = 0;
    
    for(i = 0; i < 41; i++){
        for(j = 0; j < i+1; j++){
            n = i * i * i + j * j * j;
            if(n < 0x10000){
                foo[n].x[foo[n].cnt] = i;
                foo[n].y[foo[n].cnt] = j;
                foo[n].cnt++;
            }else
                break;
        }
    }
    
    for(i = 0; i < 0x10000; i++){
        if(foo[i].cnt > 1){
            printf("%04x ", i);
            for(j = 0; j < foo[i].cnt; j++)
                printf("=  %02x^3 + %02x^3  ", foo[i].x[j], foo[i].y[j]);
            printf("\n");
        }
    }
    free(foo);
    
    return  0;
    
}